package com.container.app.testclasses.movies;

import com.container.app.annotations.Component;
import com.container.app.annotations.ImplementationTag;
import com.container.app.annotations.Inject;

/**
 * Created with IntelliJ IDEA.
 * User: Georgiana.Scarlat
 * Date: 7/27/12
 * Time: 4:34 PM
 */
@SuppressWarnings("UnusedDeclaration")
@Component
public abstract class ContainsImplementations {
    private static AbstractMovieLister movieLister;
    private static MovieFinder movieFinder;

    public static MovieFinder getMovieFinder() {
        return movieFinder;
    }

    public static AbstractMovieLister getMovieLister() {
        return movieLister;
    }

    @Inject
    public static void setMovieFinder(@ImplementationTag("chosen implementation") MovieFinder movieFinder) {
        ContainsImplementations.movieFinder = movieFinder;
    }

    @Inject
    public static void setMovieLister(AbstractMovieLister movieLister) {
        ContainsImplementations.movieLister = movieLister;
    }

    abstract void foo();
}
